# -*- coding: utf-8 -*-

'''第五周作业
1、有一个列表，里面装着很多用户的评论，为了页面正常展示，需要将所有的超过一定长度(假设超过 10 个字符)
的评论用省略号替代，写出一个 add_ellipsis 函数来实现

2、有一个元组，里面装着很多用户的评论，为了页面正常展示，需要将所有的超过一定长度(假设超过 10 个字符)
的评论用省略号替代，写出一个 add_ellipsis 函数来实现'''


def add_ellipsis(instr):
    if isinstance(instr, list):
        for index, item in enumerate(instr):  # enumerate参数为可遍历的变量，如 字符串，列表等； 返回值为enumerate类。
            # 在同时需要index和value值的时候可以使用 enumerate
            if len(item) > 10:  # 假设超过 10 个字符
                instr[index] = item[0:10] + '...'
            else:
                instr[index] = item
        return instr

    elif isinstance(instr, tuple):
        instr = list(instr)  # 元组转换成列表格式，直接符合成上面条件
        instr_list = add_ellipsis(instr)
        return tuple(instr_list)  # 将列表结果转换成元组格式


if __name__ == '__main__':
    # 作业一
    res_list = add_ellipsis(['还不错！', '烂片啊，退钱啊', 'shjkdjjskahdhehlelekjks'])
    print(res_list)
    print('=================================')
    # 作业er
    res_tup = add_ellipsis(('sss还不错！', 'ss烂片啊，退钱啊', 'aaaaaaaaadhehlelekjks'))
    print(res_tup)
# 再思考下，如果是要多种容器，if else语句会很长